

<?php
	session_start();
	class SubProgramasManager{
		public static function Add($id_programa, $nombre,$detalle){
//			echo 'SubProgramas::Add: '.$nombre.'<br>';
			$db = DataBase::getInstance();
			$db->execute("INSERT INTO sub_programas(id_programa, nombre, detalle) VALUES (".$id_programa.",'".$nombre."','".$detalle."')");
			$last_inserted_id = $db->last_inserted_id();

			return self::Get($last_inserted_id);
		}
		
		public static function Update($id, $id_programa, $nombre, $detalle){
			$db = DataBase::getInstance();


			$db->execute("UPDATE sub_programas SET id_programa=".$id_programa.",nombre = '".$nombre."', detalle = '".$detalle."' where id_sub_programa= ". $id);
		}
		
		public static function GetAll(){
			$db = DataBase::getInstance();
			$db->setQuery("select p.id_programa id_programa, p.nombre nombre_programa, p.icono icono_programa,p.thumb thumb_programa, p.detalle detalle_programa, sp.id_sub_programa id, sp.nombre nombre_sub_programa, sp.detalle detalle_sub_programa from programas p inner join sub_programas sp on sp.id_programa = p.id_programa");
			$list = $db->loadObjectList();
			return $list;
		}


		public static function GetForXmlByPrograma($id){
			$db = DataBase::getInstance();
			$db->setQuery("select sp.id_sub_programa id, sp.nombre nombre, sp.detalle detalle from programas p inner join sub_programas sp on sp.id_programa = p.id_programa
			where sp.id_programa = ". $id);
			$list = $db->loadObjectList();
			return $list;
		}


		public static function GetByPrograma($id){
			$db = DataBase::getInstance();
			$db->setQuery("select sp.id_sub_programa id, sp.nombre nombre, sp.detalle detalle from programas p inner join sub_programas sp on sp.id_programa = p.id_programa
			where sp.id_programa = ". $id);
			$list = $db->loadObjectList();
			return $list;
		}
		
		public static function Get($id){
			$db = DataBase::getInstance();
			$db->setQuery("select p.id_programa id_programa, p.nombre nombre_programa, p.detalle detalle_programa, p.icono icono_programa, p.thumb thumb_programa, sp.id_sub_programa id, sp.nombre nombre_sub_programa, sp.detalle detalle_sub_programa from programas p inner join sub_programas sp on sp.id_programa = p.id_programa WHERE id_sub_programa = ".$id);
			$list = $db->loadObjectList();
			return $list[0];
		}

		public static function Delete($id){
			$db = DataBase::getInstance();
			$db->execute("DELETE FROM sub_programas WHERE id_sub_programa = ".$id);
		}
		
		public static function GetIdByName($id_programa, $nombre, $detalle){
			if($nombre == "" || $nombre == "x")return 'null';
			$db = DataBase::getInstance();
			$db->setQuery("SELECT id_sub_programa id FROM sub_programas WHERE nombre = '".trim($nombre)."'");
			$list = $db->loadObjectList();
			if(count($list)==0){
				$list = self::Add($id_programa, trim($nombre), $detalle);
			}else{
				$list = $list[0];
			}
			
			if($list->id != ""){
				return $list->id;
			}else{
				return 'null';
			}
		}
	}
?>